﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Linq;
namespace QuanLyKhachSan.DanhMuc
{
    public partial class frmTiGia : DevExpress.XtraEditors.XtraForm
    {
        DataClassesKhachSanDataContext db = new DataClassesKhachSanDataContext(SystemInfo.pub_ConnString);
        public frmTiGia()
        {
            InitializeComponent();
        }
        TI_GIA tg;
        private void btThem_Click(object sender, EventArgs e)
        {  
            if (txtDonVi.Text != "")
            {
            try    
                {
                     TI_GIA tg = new TI_GIA();
                     tg.TG_TEN = txtTen.Text;
                     tg.TG_DONVI = txtDonVi.Text;
                     tg.TG_MUA = Decimal .Parse ( txtGiaMua.Text);
                     tg.TG_BAN = Decimal.Parse(txtGiaBan.Text);

                     db.TI_GIAs.InsertOnSubmit(tg);
                     db.SubmitChanges();
                     this.filldata();
                     this.xoadulieu();
                     dxErrorProvider1.ClearErrors();
            XtraMessageBox.Show("Thêm tỉ giá thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);    
            }
            catch
            {
                XtraMessageBox.Show("Thêm tỉ giá thật bại, vui lòng kiểm tra lại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            }
            else
            {
                dxErrorProvider1.SetError(txtDonVi,"Vui lòng nhập đơn vị" );
            }
        }

        private void frmTiGia_Load(object sender, EventArgs e)
        {
            this.filldata();
        }

        void filldata()
        {
            var tigia = from t in db.TI_GIAs select t;
            gcTiGia.DataSource = tigia;

            btThem.Enabled = true;
            btLuu.Enabled = false;
            btXoa.Enabled = false;

            xoadulieu();

        }

        private void btLuu_Click(object sender, EventArgs e)
        {
            if (txtDonVi.Text != "")
            {
                
           
            try
            {
            var tigia = db.TI_GIAs.Single(t => t.TG_ID == int.Parse (tg_id .Text ));
            tigia.TG_TEN = txtTen.Text;
            tigia.TG_DONVI = txtDonVi.Text;
            tigia.TG_BAN = Decimal .Parse ( txtGiaBan.Text);
            tigia.TG_MUA = Decimal.Parse(txtGiaMua.Text);
            db.SubmitChanges();
            this.filldata();
            dxErrorProvider1.ClearErrors();
            XtraMessageBox.Show("Sửa tỉ giá thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            catch (Exception)
            {
                XtraMessageBox.Show("Sửa tỉ giá thất bại. Vui lòng kiểm tra lại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); throw;
            }
            }
            else
            {
                dxErrorProvider1.SetError(txtDonVi, "Vui lòng nhập đơn vị");
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult result = XtraMessageBox.Show("Xóa " + gvTiGia.GetFocusedRowCellValue("TG_DONVI").ToString () + " ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
            {
            try
            {
                var tigia = from t in db.TI_GIAs
                            where
                                t.TG_ID == int.Parse(gvTiGia.GetFocusedRowCellValue("TG_ID").ToString())
                            select t;
                db.TI_GIAs.DeleteAllOnSubmit(tigia);
            db.SubmitChanges();
                     this.filldata();
                     
            XtraMessageBox.Show("Xóa tỉ giá thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

            this.xoadulieu();
            }
            catch
            {
                XtraMessageBox.Show("Xóa tỉ giá thật bại, vui lòng kiểm tra lại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            }
        }

        private void gvTiGia_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {

        }
        void xoadulieu()
        {
            txtTen.Text = null;
            txtDonVi.Text = null;
            txtGiaBan.Text = "0";
            txtGiaMua.Text = "0";

        }

        private void gvTiGia_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            if (gvTiGia .RowCount > 0)
            {   
            tg = (TI_GIA)gvTiGia.GetFocusedRow();
            btThem.Enabled = false;
            btLuu.Enabled = true;
            btXoa.Enabled = true;

            txtTen.Text = tg.TG_TEN;
            txtDonVi.Text = tg.TG_DONVI;
            txtGiaBan.Text = tg.TG_BAN.ToString ();
            txtGiaMua.Text = tg.TG_MUA.ToString ();
            tg_id.Text = tg.TG_ID.ToString ();
            }
        }

        private void gvTiGia_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
              tg = (TI_GIA)gvTiGia.GetRow(e.RowHandle);
              btThem.Enabled = false;
              btLuu.Enabled = true;
              btXoa.Enabled = true;
              txtTen.Text = tg.TG_TEN;
              txtDonVi.Text = tg.TG_DONVI;
              txtGiaBan.Text = tg.TG_BAN.ToString();
              txtGiaMua.Text = tg.TG_MUA.ToString();
              tg_id.Text = tg.TG_ID.ToString();
        }
        
    }
}